Almost every modern electronic system needs a storage device. One of the most popular storage devices is the hard disk drive. Hard disk drives typically are used as mass storage devices in systems such as personal computers, media players, set-top boxes and many other systems.
The main advantage of hard disk drives over other non-volatile data storage devices such as flash memories is their cost efficiency per bit of stored data. One of the limitations of hard disk drives, particularly with regard to their use in portable devices, is their relatively high power consumption. Among the portable devices that usually include hard disk drives are laptop computers, portable media players and GPS receivers. Such devices typically are powered by rechargeable batteries. A major constraint on such devices is the time that they can operate on a single battery charge. It therefore is important to design components of these systems, notably the hard disk drives of these systems, that are major consumers of power, to be economical in their use of power.
One of the known methods for minimizing the power consumption of a hard disk drive is the inclusion in the hard disk drive of an auxiliary memory such as a flash memory that is used as a data cache. FIG. 1 is a high-level schematic block diagram of a prior art hard disk drive (HDD) 10 that uses a flash memory 12 as a cache memory. The data recording medium of HDD 10 is a magnetic recording medium 14 on a disk-like platter 16. A controller 18 writes to magnetic medium 14 and reads from magnetic medium 14 using an electromechanical mechanism that includes a motor 20 for spinning platter 16, a read-write head 24 for reading and writing data bits at arbitrarily selected locations on platter 16 and an arm 22 for moving read-write head 24 to those locations. Cache memory 12 is used to limit the number of accesses to HDD 10 by its host device in which motor 20 is powered up. Limiting these accesses reduces the power consumption of HDD 10 and also increases the reliability of the overall system, for two reasons. First, read-write head 24 is parked for a larger portion of the time and so is the likelihood of platter 16 being damaged as a consequence of rough handling is decreased. Second, flash memory 12, having no moving parts, typically is more reliable than magnetic medium 14 as a data storage medium, reducing the chance of data loss in case of system failure.
The degrees of freedom available to the designer of a system that includes HDD 10 include:
1. Physical location: whether cache memory 12 is physically part of HDD 10 or is elsewhere in the host system, for example on the motherboard of the host system.
2. Cache management responsibility: whether caching is managed by the host's operating system or by controller 18.
3. Caching medium: volatile (e.g., DRAM) vs. non-volatile (e.g. flash).
A typical method of HDD cache management is as follows: When HDD 10 receives data to store as a consequence of a write operation by the host of HDD 10, controller 18 writes the data to cache memory 12. When cache memory 12 is full, controller 18 transfers the data to magnetic medium 14 of platter 16. This method of operating HDD 10 saves substantially in power consumption. How much power is saved, vs. always writing to platter 16, is a function of the number of write accesses and the size of cache memory 12. Calculations for typical laptop computers (HDD capacity around 60 GB, flash memory capacity around 64-128 MB) show that the amount of data written per hour to cache memory 12 is a tiny fraction of the capacity of a typical platter 16. Using a relatively small cache memory 12 can give a 20%-30% reduction in power consumption in a typical consumer device.
The trade-off in such caching is between the additional cost of cache memory 12 vs. the power saved. This is an important limitation, as hard disk drives have become a standard commodity that is used in a wide variety of applications. However, in some applications, low cost is a more important constraint than low power consumption; in other applications, low power consumption is a more important constraint than low cost; and in yet other applications, both constraints are important. The exact fine tuning between cost and power thus varies from one application to another, and can even vary from one user to another.
There is thus a widely recognized need for, and it would be highly advantageous to have, a commodity hard disk drive that can be adapted easily to the cost and power constraints of a wide variety of applications.